package oas.db;

import java.util.List;
import oas.domain.Workcell;
import oas.web.PaginationSupport;

/**
 * 数据库资源接口
 * 
 * @version 1.0.0
 */
public interface WorkcellRepository {

    /**
     * 查询部门及子部门
     *
     * @param workcell 跟部门
     * @return 部门列表
     */
    public List<Workcell> findWorkcells(Workcell workcell);
    
    /**
     * 添加部门
     * @param workcell
     * @param parentWorkcell
     * @return
     */
    public Workcell addWorkcell(Workcell workcell,Workcell parentWorkcell);
    /**
     * 通过id查找部门
     * @param id
     * @return
     */
    public Workcell findById(Long id);
    /**
     * 分页查找子部门
     * @param workcell
     * @param pageNo
     * @param pageSize
     * @return
     */
    public PaginationSupport<Workcell> findWorkcells(Workcell workcell,int pageNo,int pageSize);
    /**
     * 删除部门
     * @param workcell
     */
    public void deleteWorkcell(Workcell workcell);
    /**
     * 更新部门信息
     * @param workcell
     */
    public void updateWorkcell(Workcell workcell);

	/**
	 * 通过id查找父部门
	 */
	Workcell findParentById(Long id);
}